export type Keyboard = "Escape" | "F1" | "F2" | "F3" | "F4" | "F5" | "F6" | "F7" | "F8" | "F9" | "F10" | "F11" | "F12" | "Insert" | "Delete" |
    "Home" | "End" | "PageUp" | "PageDown" | "`" | "Backspace" | "Tab" | "CapsLock" | "Shift" | "Control" | "Meta" | "Alt" | " " | "Enter" | "\\" |
    "ArrowUp" | "ArrowDown" | "ArrowLeft" | "ArrowRight" | "Clear" | "/" | "*" | "-" | "+" | "NumLock" |
    "MediaPlayPause" | "MediaStop" | "MediaTrackPrevious" | "MediaTrackNext" | "LaunchApplication2" | "AudioVolumeUp" | "AudioVolumeDown" | "AudioVolumeMute"
    | "~" | "!" | "@" | "#" | "$" | "%" | "^" | "&" | "(" | ")" | "_" | "{" | "}" | ":" | "\"" | "<" | ">" | "?" | "|" |
    "q" | "w" | "e" | "r" | "t" | "y" | "u" | "i" | "o" | "p" | "a" | "s" | "d" | "f" | "g" | "h" | "j" | "k" | "l" | "z" | "x" | "c" | "v" | "b" | "n" | "m" |
    "Q" | "W" | "E" | "R" | "T" | "Y" | "U" | "I" | "O" | "P" | "A" | "S" | "D" | "F" | "G" | "H" | "J" | "K" | "L" | "Z" | "X" | "C" | "V" | "B" | "N" | "M";

// TODO: 格式化按键码
export const customKey = <const>[
    ["mota_left", "向左移动", <Keyboard[]>["ArrowLeft"]],
    ["mota_right", "向右移动", <Keyboard[]>["ArrowRight"]],
];

export type CustomKeyName = typeof customKey[number][0];

export type KeystrokeMap = { [key in Keyboard]: typeof customKey[number][0]; };